package reflect;

import java.io.File;
import java.net.URISyntaxException;

/**
 * 需求:
 * 实例化与当前类Test3在同一个包中的所有类
 */
public class Test3 {
    public static void main(String[] args) throws URISyntaxException, ClassNotFoundException, InstantiationException, IllegalAccessException {
        /*
            定位当前所在的包
            类名.class.getResource(".").toURI()
         */
        File file=new File(
                Test3.class.getResource(".").toURI()
        );

        File[]  subs=file.listFiles(f->f.getName().endsWith(".class"));
        for (File sub:subs){
            String fileName=sub.getName();
            String className=fileName.substring(0,fileName.indexOf("."));
            String paskName=Test3.class.getPackage().getName();
            String a=paskName+"."+className;
            Class cls=Class.forName(a);
            Object obj=cls.newInstance();
            System.out.println(obj);
        }
    }
}

